From: Keir Fraser Date: Tue, 16 Sep 2008 12:18:32 +0000 (+0100) Subject: x86: Simplify RDMSR pass-through emulation for certain X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14101^2~63^2~2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=7441a335e4dc8b0a4f22bd22e37c793145d89aaf;p=xen.git x86: Simplify RDMSR pass-through emulation for certain explicitly-named MSRs (but keep the names in the source code in case we tighten up RDMSR emulation later). Also add MSR_AMD_PATCHLEVEL MSR as explicitly required (for Solaris). Signed-off-by: Keir Fraser --- diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index f40a1ed3f7..aad666fb5f 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -2223,10 +2223,6 @@ static int emulate_privileged_op(struct cpu_user_regs *regs) if ( rdmsr_safe(regs->ecx, regs->eax, regs->edx) != 0 ) goto fail; break; - case MSR_EFER: - if ( rdmsr_safe(regs->ecx, regs->eax, regs->edx) ) - goto fail; - break; case MSR_IA32_MISC_ENABLE: if ( rdmsr_safe(regs->ecx, regs->eax, regs->edx) ) goto fail; @@ -2236,12 +2232,9 @@ static int emulate_privileged_op(struct cpu_user_regs *regs) MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL | MSR_IA32_MISC_ENABLE_XTPR_DISABLE; break; + case MSR_EFER: case MSR_IA32_THERM_CONTROL: - if ( boot_cpu_data.x86_vendor != X86_VENDOR_INTEL ) - goto fail; - if ( rdmsr_safe(regs->ecx, regs->eax, regs->edx) ) - goto fail; - break; + case MSR_AMD_PATCHLEVEL: default: if ( rdmsr_hypervisor_regs(regs->ecx, &l, &h) ) {